/**********************************************
 * Copyright (c) 2022
 * All rights reserved.
 *
 * 文件名称：callback.h
 * 摘 要：回调函数头文件
 *
 * 当前版本：1.0
 * 作 者：任慧
 * 完成日期：2022年8月2日
 *
 * ********************************************/

#ifndef CALLBACK_H
#define CALLBACK_H


#include "mosquitto.h"

/**************************************************
 * 函数名：   my_connect_callback
 *
 * 函数功能： 连接回调,成功调用此函数后connect_flag标志置为1
 *
 * 参数：     mosq        mosquitto实例
 *            obj         mosquitto_new中提供的用户数据
 *            rc          连接响应的返回码
 *
 * 返回值：   无返回值
 **************************************************/
extern void my_connect_callback(struct mosquitto *mosq,void *obj,int rc);


/**************************************************
 * 函数名：   my_disconnect_callback
 *
 * 函数功能： 断连回调
 *
 * 参数：     mosq        mosquitto实例
 *            obj         mosquitto_new中提供的用户数据
 *            rc          连接响应的返回码
 *
 * 返回值：   无返回值
 **************************************************/
extern void my_disconnect_callback(struct mosquitto *mosq,void *obj,int rc);

/**************************************************
 * 函数名：   my_publish_callback
 *
 * 函数功能： 发布回调
 *
 * 参数：     mosq        mosquitto实例
 *            obj         mosquitto_new中提供的用户数据
 *            rc          连接响应的返回码
 *
 * 返回值：   无返回值
 **************************************************/
extern void my_publish_callback(struct mosquitto *mosq,void *obj,int mid);

extern void my_subscribe_callback(struct mosquitto *mosq,void *obj,int mid,int qos_count,const int *granted_qos);

extern void my_message_callback(struct mosquitto *mosq,void *obj,const struct mosquitto_message *message);

#endif


